{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib \n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import warnings\n",
    "import numpy as np\n",
    "\n",
    "##解决图例中文乱码，设置参数\n",
    "matplotlib.rcParams['font.family']=['sans-serif']\n",
    "matplotlib.rcParams['font.sans-serif']=['Songti SC']#显示中文\n",
    "matplotlib.rcParams['font.serif']=['Songti SC']\n",
    "matplotlib.rcParams['axes.unicode_minus']=False #正常显示符号\n",
    "\n",
    "#屏蔽警告信息\n",
    "warnings.filterwarnings('ignore')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 热图及热图标准化-按照列标准化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x360 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df = pd.DataFrame(np.random.randn(10,10) * 4 + 3)\n",
    "df[1]=df[1]+40\n",
    "# If we do a heatmap, we just observe that one column has higher values than others:\n",
    "plt.figure(figsize=(16,5))\n",
    "plt.subplot(121)\n",
    "plt.title(\"热力图\")\n",
    "sns.heatmap(df, cmap='viridis')\n",
    "# plt.show()\n",
    "\n",
    "\n",
    "# 数据标准化，按照列标准化\n",
    "plt.subplot(122)\n",
    "plt.title(\"数据标准化之后热力图\")\n",
    "df_norm_col=(df-df.mean())/df.std()\n",
    "sns.heatmap(df_norm_col, cmap='viridis')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 热力图标准化-按照行标准化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVsAAAD3CAYAAACzZvfMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAAAWVklEQVR4nO3dfZRdVXnH8e8vIchbYLBAIm8KBoKaCgJGaKBRIRKsuCgiaHnVyBQwSlllCfJSKCqIi1IRIjqBWgQFrVWX0ARt1IpBkGIIEDAELUiABHmLIQaSYe7TP+4ZuITMvedm7tk59+T3WWuv3Lnnzn52WOGZPfvssx9FBGZmVqwR63sAZmYbAidbM7MEnGzNzBJwsjUzS8DJ1swsgY2K7PziB96fbKvD9d+ckiTOxsuThAHguT0HksWKkel2pUzYfXGSOI/M3iVJHIDDP/rLZLHmHT0+WazFh22XLNaCL52u4fZRW7p77n/II8YuGna8dnhma2aWQKEzWzOzlGrUcn829UzTydbMKqM/8i+9pU5+TrZmVhntzGxTc7I1s8oYKPHxA062ZlYZNTqTbCWNBr4KTAQeAj4UEaskjQIuBRYBYyPivLx9ejeCmVXGAJG7tXAgcArwdmAS8Nbs/WlAT0TMACZLOjjv2Jxszawy+qOWu0nqlXRXQ+sd7CciZkXECuD1wL3AfdmlKcDS7PVS4JC8Y2u5jCDpvVmHI4A5EfHjvJ2bmaXUzu2xiOgD+oa6LqkHOAY4LCJeGnw7a4NyT1ibflDShcD5wJuAnYHPSvpc3s7NzFLq1DKCpM2BQ4EvA5tJOknSlsAcYMfsY2Oyr3NplZWXRMTkiDg6a+8GlrQY5MtT8zu/+2jecZiZDdtA5G8tfBr4NtBPPed9DXgfMBNYJmk6MDciZucdW6tlhPGSvkF9bULUM/qyZt/QODVPeTaCmVmndtlGxMXAxUNcPnVd+myVbM+gfvdtCvVkO4d6ZjczK50Bkp4t05amyTZbFP561szMSq0/ujTZmpl1k66d2ZqZdZOaZ7ZmZsXzzNbMLIGBEj8U62RrZpXhZQQzswRWx8j1PYQhOdmaWWXUNtRlhCde3LrI7l/lEyfkfmpuWH5ycLrKpiP6d00Wq+ehF5LFql2Y5le9F8ame4DxhgX7Jot15axvJ4t11oIjksXqBN8gMzNLYCA20JmtmVlKNc9szcyKtzrKm9LKOzIzszZtsDfIzMxSGvA+WzOz4vkJMjOzBGol3o1Q3pGZmbVpgBG523BJOradz69TREkHrsv3mZkVqT9G5m6tSDpI0q1rvPcmSSEpaLM8Tp5S5r8Admp8C9iKej11M7PS6NRDDZL2AEZSryq+pncCC4GBdvrMs2b7z1nQRQ3vDfkMn6ReoBfg3edMZMIR49oZj5nZOmvnoYbGXJXpywrWEhELJb04xLf+ANgMuBo4M2+8lsk2In4maXxE/KFhkFc2+fzL1XU/Ne8YV9c1s2Tamdk25qo2PA7sCuwA3C3p2oh4IM835tqNEBEPrvF1f5sDNDMrXFFbvyRNAB6KiFXZW49IehB4Jm8f3vplZpXRqcPDJW1Mfbm0R9Jk4J+AsyVNBTYF7gQuiYgn8/bpZGtmldHfobMRImI1cFnWAA7K/vz1uvbpZGtmleHzbM3MEijzE2ROtmZWGZ7Zmpkl4JmtmVkCeR7DXV8KTba/O2r7Irt/lZ1+9GySOItO3yVJHICNViYLxco3bJos1pd3+u8kcf7+4ROSxAEYPS/df79TXjg+Wax93/JIslid4BpkZmYJdGqfbRGcbM2sMnx4uJlZAp7Zmpkl4IKPZmYJ9NecbM3MCud9tmZmCfgJMjOzBLr6BpmkUcBbgfsioiZpGvBiRHyr8NGZmbWh25cRvg9MAu6RdBjwX9RLQzjZmlmp9Hd5st0NGAv8BfXiaJdDiRdGzGyDVeaZbZ6R3QlsFBFLgGuADwNDFnKU1CvpLkl3LV5+T4eGaWbWWi2Uu6WWJ9meCkwGiIg/AT8CzhnqwxHRFxH7RsS+O225Z2dGaWaWQw3lbq1IOkjSrWu8t6WkGZLOkPSpdsaWp5T5CmB2w9crgS+2E8TMLIUOFnzcAxgJ7LzGpbOBpyPiUkkPS/pxRCzK02d5FzjMzNpUixG5W+OSZ9Z6B/uJiIXA2pLoFGBp9vqp7OtcvM/WzCrjpTZukEVEH9DXZgjx6g0CuQM62ZpZZRR140vSBOAhYA6wY/b2tsBP8/bhZQQzq4xO7UaQtDFwBNAjaTL1La97AZ8HtpV0BnB5RDyQd2ye2ZpZZXRqZhsRq4HLsgZwUMPlk9alTydbM6uMrj4bwcysW+TZP7u+FJpsl301XVnhn39wQpI4A+f2J4kDsMMP0i2p/8/XZyaLNe7Gk5PE2WTnFUniAGw3r5Ys1kuTVieLtaJ/42SxOuElHx5uZlY8LyOYmSXgZGtmlkA42ZqZFW+DvUFmZpbSgG+QmZkVz2u2ZmYJeM3WzCyBysxsJb0HWBYRdxc0HjOzdRZDFuxa//KUMp8BbArcDlwAPCnpyoj4t4LHZmbWljLvRshz6+5vqR+wezTwjojYGxjyecHG08+fnDW/M6M0M8thoDYid0stT8SbgXupHys2OBOePNSHGws+jnn/XsMfoZlZThH5W2p51mxPBsZExMMAkjYHflfoqMzM1kGZdyO0nNlGRC0iljR8/eeIuKTYYZmZtS9CudtwSTqunc9765eZVUYHS5mPAi6lXmF3bESc13BtcBFiCXBd3j7L+2ybmVmbOrhmOw3oiYgZwGRJBzdcOxIYDYxrZ2xOtmZWGbXaiNythSnA0uz1UuCQhmtXAIuBqyTlrpDgZGtmlRFttMZtqlnrbehKWRvUmCvHZW0Sr07CTXnN1swqo50bXxHRR/0ZgrWZAxyQvR4D/FLSlhGxPCJWAislzeeV2W9LTrZmVh2d2z87E5ggaTowF9gHWCKpB5hI/fmDmyJiXt4OnWzNrDI6tc82IvqBU4e4fPW69Flosn3phu2K7P5Vfntemqq3l0z6XpI4AM/sv0WyWHt+6ZRksbR9msd3PjRufpI4ANcfu1+yWPuNXdL6Qx1yz0/GJ4s19HOp+dVq5X2owTNbM6uOEj9B5mRrZpXR1Ucsmpl1DSdbM7PilfkgGidbM6sOz2zNzIoX3o1gZpaCk62ZWfFKvIyQ+yAaSdOKHIiZ2bC1cxJNYk1ntpJuAjbPvpwg6RiAiHhv0QMzM2tbiXcjtJrZfgF4FLiW+vmN12ZtSI3Hlj314O2dGaWZWQ5dW/AxIu6QtALYBfhDRDRNtNn3vHxs2Ts/dlmJV1DMrHK6eTdCRCyQtAp4LsF4zMzWmUo8vcu1GyEiHqJek8fMrLy6PdmamXWFEt8gc7I1s+rwzNbMLIHa+h7A0Jxszaw6OrSMIGkUcCmwCBgbEec1ez8PlzI3s8pQ5G8tTAN6ImIGMFnSwS3eb8nJ1syqo43HdRsfwMpab0NPU3ilTPlS4JAW77fkZQQz2yA1PoC1FuLVR4iNaPF+S4Um25QbjDfveSFJnC/89tAkcQBW3b11slir93kxWawxs1+XJM6tc/dPEgdgzMnpnvn57dPpqla/uOuqZLE6oYM5Zw5wQPZ6DPBLSVuu5f1v5O3QM1szq47OPa47k/rhW9OBucA+wJI134+I2Xk7dLI1s+ro0Mw2IvqBU4e4PNT7TTnZmllldP3ZCGZmXcHJ1swsASdbM7PiqZvPszUz6xqe2ZqZFa/MN8jaqa4rSVMl7VXgeMzM1l2Jq+s2TbaSjpX0mKRNqD8pcQVwtqTjkozOzKwNHTyIpuOaJtuIuB54Q/a5w4CJEXEUTeqRNR7u8MdFrq5rZgl168w2I2Aq8CIweADBB4b6cET0RcS+EbHvdrunezbdzEy1/C21PNV1BxPy9xve/t9ihmNmVk3rtBshIq7p9EDMzIatxLsRvPXLzCqjzFu/nGzNrDqcbM3MEnCyNTMr3vrYZZCXk62ZVUaZ12xdXdfMqmM9PdQg6W8kvb7ZZwqd2T4zNV0Rwe2+MzpJnOVHP58kDsC28weSxXph8SbJYj0zIU2cgTf2pwkEDDzRkyxWz/xRyWJt9b5nk8XqiAJmtpIuAp4AdgU+ExEvNVx7BHhj9mXTSqae2ZpZZXT6bARJU4FJEXElsA1w4hofOR0YDYyOiNXN+nKyNbPqqOVvjee4ZK13LT1OAZZmr5cCh6xx/SxgMXCjpC2aDc03yMysMtq5QRYRfUBfqy6zNmjNCep7sus/AY4HvjpUR062ZlYdHVqzzZYPJgD3APtlb48B5kjaEeiPiCcjYmX2+TuAJc36dLI1s8ro1NaviLgFuAVA0lsknQYsA64GzgWWS3qA+hru9cD/RcQPmvXpZGtm1VHAboSIOGuNt85veD07bz9OtmZWHSV+qMHJ1swqo8xPkOVOtpI2Ak6gvnHi+ohIt2PczCyHMifbVgUfj2z48mzgSOBQ4GtFDsrMbJ10cQ2yTSV9LHu9KCIOzQo+3lbwuMzM2tetyTYirgP2kXQ3MFHSBZKuAiYP9T2NT2Us/+mdHR6umdnQuraUOUBETAdOAVZT39T7APDJJp9/ubrulgdN7NhAzcxaKvHMNtcNsoi4A7ij4LGYmQ2LDw83M0ugzLsRnGzNrDqcbM3MEnCyNTMrnpcRzMwSUK282dbJ1syqo7y51snWzKpjg11GqD3VtNhkR/1xb7X+UAdoVbqfT2de+s1ksb74+0OTxdr681sliTPqwceSxAF415zHk8W64fF3J4u18wcXJotFJ/bIbqjJ1swspQ12ZmtmllSJk61LmZtZZaiWv+XuU9pb0oK1vD9K0uWSPinpc636cbI1s8ro9KlfknbIXr5tLZenAT0RMQOYLOngZn052ZpZdUTkbo3HwWat97XdxeMRMW+IaFOApdnrpcAhzYbmNVszq4x2bpBFRB/QN5xwWRvUdPLqma2ZVUeHzrOVNFXSGZKOXsu13SRtCcwBdszeHpN9PSTPbM2sMjp1nm1E3ALcAiDpI9mfh0fED4FzgJuBmcAESdOBuRExu1mfLZOtpAMiYu4wx25mVrgiDg+PiBuBGxu+PrHh8ql5+8mzjPALSV+XdKqkrfMP0cwssTZukKWWJ9kK+CzwC+CsLPEeN+SHG+7wPX+bK+mYWTpdXfBxUETcHxFnUi/++Psmn3u54OPoSft1YoxmZvl0ecHHc4E3Ac8CREQN+FWBYzIzWyddfTZCRFyUYiBmZsPlw8PNzFIob651sjWz6ujqZQQzs67hZQQzswTKm2udbM2sOryMYGaWgHcjmJmlUN5cW2yy3fi5dCc4rnrj6iRxtv/PTZPEAfji1ukq3i6fPTZZrKdPez5JnNVPvDlJHIBHv7VbslhbP1rAaStDWHbi/slidYLWw5kHeXlma2bVke7nUNucbM2sMjyzNTNLwTfIzMyKV+atX65BZmbVsZ4OD292xvcgJ1szqwzV8rfcfUp7S1owxLWQFMAlrfpxsjWz6ujwzFbSDtnLtw3xkSOB0cC4Vn052ZpZdbRRqaGxhFfWel/TXcTjETGvScQrgMXAVZJGNhtarhtkkraKiD9J2hWYAMyKiJfyfK+ZWSqq5V8fiIg+oG+YIccBmwK/Bg4BZg31wTylzL8CbCvpe8D5wP3Ae4DThzlIM7PO6tBDDZKmUp9YLo6I76xxbTfgyYhYHhErgZWS5gNLm/WZZ2a7ICL6JE0E3hcRSyUd3WSQvUAvwHaHfZiefbvrcT8z616deqghIm4BbgGQ9JHsz8Mj4ofAOcDNknqAicDNwE0tlhtyJdu9JH0K2J/6usQ7gCnAd9b24cap+fgL/7XEu97MrHIKeIIsIm4Ebmz4+sSGy1fn7SfPDbKLgFHAZ4CngKnAjLwBzMySWU/7bPPIU133MeCyhrdOK244ZmbD4INozMyK185uhNScbM2sOnzql5lZAk62ZmYJlHcVwcnWzKrDh4ebmaUwUN6prZOtmVXHhjqzXf3mF4vs/lU2XbhJkjhPH7UiSRyA2rx0FW9j4gvJYm1/3WZJ4rzrgjuTxAG47+N7JIv18BE9yWJtttezyWJ1xIaabM3MknKyNTNLwAUfzcwSCN8gMzMrnncjmJkl4DVbM7MEnGzNzBLo9mQraTNgPDAA3B8RA4WOysxsXZT4iMWWlRoknUi9kNlvgPnAEklnSlKxQzMza1OHKzVI2kjSDEn3SvqVpG3WuH6RpOmSLpPUdPKapyzOSGAs9dI42wBnUC/de3mu0ZqZpTJQy9/yeRfwBWBPYCvgwMELWQXeSRFxJfXceGKzjvIk2wOBS4ALqRdy3D0iLgBukPSa0rmSeiXdJemu53+W7nFJM7OIWu7WmKuy1vva/uK2iHgC2AxYBvys4fIUXilfvhQ4pNnY8qzZ/iP1Yo97AQ9QT7xExO2SNl/L4F6urrvLty4u72q1mVVPG0+QNeaqZiS9DjgZODIi/tR4KWuDmk5e8xR8fAY4c4hrf271/WZmyXRoN0K2RDABWAy8jnpF8VGS/gH4HtAPzAHOzb5lTPb1kPIsI5iZdYdaLX9rIiJuiYhLqefIa4EXgOXAaOAk4NiImAXcKuk06ksMVzfr0/tszawyYqCzu1Ij4gbghibXz8rbl5OtmVVHtz/UYGbWFXzEoplZAj5i0cyseOGZrZlZAp7ZmpkVr9O7EToqIkrXgN4qxXGs7opVxb9TlWN1SyvrQw2veUa5y+M4VnfFquLfqcqxukJZk62ZWaU42ZqZJVDWZNvyJJ4ui+NY3RWrin+nKsfqCsoWs83MrEBlndmamVWKk62ZWQJOttZVJB2XIMbxko4qOo5tWEqTbCWNknS5pE9K+lyimAdJurXgGKMlXSfpQUk3ZyU2ioo1UtJMSUskXVVUnDVi7ifp5gRxQlKQlWUqMM4MYFREfLfgOOcM/p2y9tcFxtpJ0lWSTpZ0RZGVsSVtI+laSSdJ+lhRcbpRaZItMA3oiYgZwGRJBxcZTNIe1CsH71xkHOoFM08B3g5MAt5aYKyxwOnAEdQrIBdK0l9S/7ttUXQs4Ejqp+SPKypAVsD0gIi4pqgYDX4MbJu1qyOiyB/6RwELI+JrwHZAT4GxPgOsAL4NfEVSin8bXaFMybatSpXDFRELgUVFxsjizIqIFcDrgXuB+wqM9Tj1/5k+D9xeVBwASbsDuwA/LzJOgyuo14O6StLIgmIcDvxc0kclnS9p44LiEBF3RcTT1H9A3lNUnMx3gf0l7Qf8R0Q8V2CsCdTLx6yi/kN4fIGxukqZkm1blSq7iaQe4BjgsIh4qeBwq4G/A86XdFCBcc4CPg58Gpgg6aQCY0F9RjuO+m8HRf0g3gpYHvVSKPsDJxQUp9HxNCm70iFbAFcBf6D+76Kw3w6oV+AeT/2/JUCJT4ZJq0wJbQ6wY/a6ZaXKbpGVez8U+DKwmaRPFBhri4h4LCKeBP5IvQhdISLi4xFxOPAVYEFEzCwqVhZvZdQrPc/nld+AOu0B6v/2AJ4HCj2vL5uhb539vYp0CrBFRCwB7qc++yzKhcBC4APAM1k8o1zJdiawTNJ0YG5EzC4yWPYr4hFAj6TJBYb6NPX1q35gCfVfr4oyXdI1ko4HroyI3xQYKxlJn5DUJ+mDwE0RMa+gUN+g/gNxGvV1x+sLijNoP2BuwTEA/h34kKSPAE8Cs4oKFBHLI+JsYFfgXyKiv6hY3cZPkJlZR0n6K+pLWadFhJcRMk62ZtYx2e6DPSPitvU9lrJxsjUzS6BMa7ZmZpXlZGtmloCTrZlZAk62ZmYJONmamSXw/9ngNM1Op0vtAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "df = pd.DataFrame(np.random.randn(10,10) * 4 + 3)\n",
    "df[1]=df[1]+40\n",
    " \n",
    "#普通热力图\n",
    "sns.heatmap(df, cmap='viridis')\n",
    "plt.show()\n",
    "\n",
    "# 按照行标准化\n",
    "df_norm_col=(df-df.mean())/df.std()\n",
    "sns.heatmap(df_norm_col, cmap='viridis')\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
